Iterative soft interference cancellation and filtering for spectrally efficient high-speed transmission in MIMO systems

ABSTRACT

Canceling interference in a multi-input multi-output (MIMO) system is accomplished with a plurality of interference cancellers. One interference canceller corresponds to each transmitted signal, with each interference canceller receiving signals from all receiving antenna, and each interference canceller outputting an interference-cancelled received version of its corresponding transmitted signal. An estimate of the transmitted signals from all transmitting antennae is used in each interference canceller. Each estimate is multiplied by a channel coefficient matrix, which can be derived from the communication of known pilot symbols, and the resulting products of each estimate and the channel coefficient matrix are subtracted from the received signals, resulting in a corresponding difference. Each corresponding difference may be multiplied by a filter weight vector. The received signal is decoded based upon the resulting products of said difference and said filter weight vector. If a predetermined interrupt criteria is not met, then the decoded signal is used in the preparation of the estimate for a subsequent interference cancellation iteration. The method can be iteratively performed until the predetermined interrupt criteria is met.

BACKGROUND OF THE INVENTION

[0001] 1. Field of Invention

[0002] The invention relates to the field of telecommunications and more specifically to an iterative soft interference canceller (I-SIC) for use on the receiving side of a multi-input multi-output (MIMO) telecommunications system.

[0003] 2. Description of Related Art

[0004] Widespread use of the Internet motivates the design of more reliable, comfortable and efficient communication systems, especially in the mobile environment due to its portability and convenience. So-called the third generation (3G) systems are being introduced to support several hundred kbps data services in addition to high quality voice message transmissions, and its upgraded version, high-speed downlink packet access (HSDPA), is also under discussion and standardization at the third generation partnership project (3GPP) to offer higher bit rate services. However, achievable bit rate is still limited up to 10 Mbps even when HSDPA utilizes automatic repeat request (ARQ) and adaptive modulation and coding scheme (AMCS). However, user demand for data rate requires approximately 100 Mbps to enjoy streaming video, high-speed Internet connection and so forth, even in a mobile situation.

[0005] One known strategy to realize high-speed transmission in the physical layer is the expansion of bandwidth. Atarashi, et al., proposed variable spreading factor orthogonal frequency and code division multiplexing (VSF-OFCDM) which assumes 130 MHz bandwidth to achieve 100 Mbps in outdoor environments. However, this approach requires very high speed digital-to-analog and analog-to-digital converter due to its very high sampling rate. Hence, the power consumption, especially in the user equipment, would become a problem. Another problem is that such a wide bandwidth induces excessive multi-path delay, which makes such a suitable receiver difficult to design and operate.

[0006] An alternative approach to increasing the spectral efficiency is to adopt higher-order modulation schemes. In fact, IEEE 802.11a employs 64QAM to realize 54 Mbps with 20 MHz bandwidth for indoor wireless local area network (LAN) systems. However, when we consider application of this scheme in the mobile environment, 64QAM would be no longer efficient because it is less tolerant to interference than QPSK. Moreover, greatly increased transmission power would be required to compensate for its poor error rate performance.

[0007] On the other hand, spatial multiplexing techniques, for example, the so-called multi-input multi-output (MIMO) system, have gained much attention recently. Information theory results indicate that the capacity of a MIMO system increases linearly with the minimum of the number of transmit antennas and the receive antennas. In MIMO systems, the most serious problem would be interference from other transmit antennas. Foschini, et al., proposed the Bell Laboratories Layered Space-Time (BLAST) architecture to achieve high-speed wireless transmission and the corresponding detection algorithms that employ interference cancellation and suppression. However, this scheme would not be efficient when combined with error correction coding since processing in the detector and the decoder are separately performed. On the other hand, although the maximum a posteriori (MAP) algorithm is known as optimum when jointly operated for detector and decoder, the computational complexity becomes prohibitive.

BRIEF SUMMARY OF THE INVENTION

[0008] Therefore, to address this and other problems in the prior art, the present invention discloses low complexity iterative soft interference canceller (SIC) followed by filtering to realize spectrally efficient transmission in turbo coded MIMO systems. In this algorithm, soft information is exchanged between the demodulator and the decoder in a turbo fashion to successively cancel and suppress interference from other antennas and recover the information symbols. Filtering can be either according to a minimum mean square error (MMSE) algorithm, or matched filtering (MF) instead of MMSE filtering for complexity reduction, or some combination thereof.

[0009] In one embodiment, the invention includes providing a received signal from each of plural receiving antennae to each of a plurality of interference cancellers, at least one interference canceller corresponding to each said transmitted signal,.each interference canceller canceling interference against its corresponding transmitted signal. Interference is cancelled by comparison of the received signals with an estimate of the transmitted signal, and cancellation of all but the corresponding transmitted signal in each interference canceller.

[0010] In a further embodiment, the invention includes preparing an estimate of the transmitted signals from all transmitting antennae for use in each interference canceller, multiplying each estimate by a channel coefficient matrix, which can be derived from the communication of known pilot symbols, subtracting the resulting products of each estimate and the channel coefficient matrix from the received signals, resulting in a corresponding difference between each of the products and each of the received signals. Each corresponding difference may be multiplied by a filter weight vector, selectively chosen from a MMSE of MF scheme in each iteration. The received signal is decoded based upon the resulting products of said difference and said filter weight vector. If a predetermined interrupt criteria is not met, then the decoded signal is used in the preparation of the estimate for a subsequent interference cancellation iteration. The method can be iteratively performed until the predetermined interrupt criteria is met.

[0011] The invention includes both the methods of canceling described herein, as well as apparatus to implement the methods. Among these apparatus are interference cancellers, and receivers operative to cancel interference in accordance with the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

[0012] These and other features, benefits and advantages of the present invention will become apparent through the following specification and appended claims, and the accompanying figures, where like reference numerals refer to like features across the several views, and where:

[0013]FIG. 1 shows a transmitter according to one embodiment of the present invention;

[0014]FIG. 2 shows an exemplary embodiment of the Iterative Soft Interference Canceling (I-SIC) receiver according to the present, invention;

[0015]FIG. 3 shows the configuration of a single Soft Interference Canceller (SIC) in some additional detail;

[0016]FIG. 4 shows the simulated FER performances of a 2-transmitter/2-reciever MIMO system in accordance with an embodiment of the present invention; and

[0017]FIG. 5 shows the simulated FER performances of a 4-transmitter/4-reciever MIMO system in accordance with yet another embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

[0018]FIG. 1 shows the configuration of the transmitter, generally 10. The input data bit stream 12 is first encoded by a turbo encoder 14, and fed to a modulator 16 to generate complex baseband symbols 18. In this embodiment, QPSK modulation with Gray mapping is employed. However, those skilled in the art will recognize that the following descriptions are easily expanded to other modulation schemes. The QPSK symbols are randomly interleaved by a symbol interleaver 20, and serial-to-parallel (S/P) converted in S/P converter 22. The interleaver 20 is necessary to randomize both the channel and the interference seen by receiver. The S/P-converted n_(T) symbol streams are simultaneously transmitted from n_(T) antennae 24 sharing the same frequency band. When Orthogonal Frequency Division Multiplexing (OFDM) and/or spread spectrum is employed, Inverse Fast-Fourier Transform (IFFT) 26 and/or spreading are applied to each symbol stream after S/P converter 22. Optionally, guard intervals may also be inserted by appropriate means 28, in a manner known in the art.

[0019]FIG. 2 shows an exemplary embodiment of the Iterative Soft Interference Canceling (I-SIC) receiver, generally 30, according to the present invention. Signals are received at each of n_(R) antennae 32. Guard intervals are removed from each received stream by appropriate means 34, and a FFT 36 is performed, as necessary. Next, interfering symbols are removed by n_(T) parallel SICs 38 using a soft estimate from soft symbol estimator 40. The estimate will be zero in a first iteration, and afterward is obtained from a previous step. Then, interference cancelled symbols are fed to log likelihood ratio (LLR) calculator 46 through parallel-to-serial (P/S) converter 42 and de-interleaver 44. In the LLR calculator 46, LLR of all code bits are computed based on the SIC 38 outputs, symbol constellations and turbo decoder 48 output. Subsequently, only extrinsic information, described further infra, computed in the LLR calculator 46 is iteratively fed to turbo decoder 48 for decoding.

[0020] Generally, in a non-iterative receiver, turbo decoder 48 outputs the LLR of the information bit and makes decisions to recover data streams. However, in the iterative receiver according to the present invention, the LLR is necessary for code bit to make soft estimates of transmitted symbols except for the last iteration. Also, extrinsic information should be fed back to LLR calculator. Thus, the turbo decoder is slightly modified to do so, and the produced LLR of code bits is then fed to the soft symbol estimator 40. In an exemplary embodiment of the invention, the turbo decoder 48 utilizes the Max-Log-MAP algorithm. Below, the operation of the SIC 38, LLR calculator 46 and soft symbol estimator 40 are described in more detail.

[0021]FIG. 3 shows the configuration of the k-th SIC 38. What follows will focus on a particular symbol instant. The received signal can be written as

y=Hx+n   (Eq. 1)

[0022] where y, H, x, and n are the received signal vector, the channel coefficient matrix, the transmitted symbol vector and the ambient Gaussian noise vector, respectively, and are given by $\begin{matrix} {{y = \left( {y_{1},y_{2},{\ldots \quad y_{n_{R}}}} \right)^{T}},} & {{H = \begin{pmatrix} h_{11} & h_{12} & \cdots & h_{1n_{T}} \\ h_{21} & ⋰ & \quad & \vdots \\ \vdots & \quad & ⋰ & \vdots \\ h_{n_{R}1} & \cdots & \cdots & h_{n_{R}n_{T}} \end{pmatrix}},} \end{matrix}$

[0023] x=(x₁,x₂, . . . x_(n) _(R) )^(T), and n=(n₁,n₂, . . . n_(n) _(R) )^(T).

[0024] The objective of the k-th SIC 38 is cancellation of the interfering signals against the k-th transmitted symbol stream. To accomplish this, the estimated symbols from previous iterations are used as replica of the transmitted symbols and to cancel all but the k-th signal from the received signals.

[0025] In the soft estimate of the transmitted signal, the k-th symbol is replaced by zero (0) as shown in the lower part of FIG. 4. The channel matrix is multiplied with the soft symbol vector at each of multiplication junctions 50, and subtracting it from the received signals at each of several summing junctions 52, we obtain

y _(k) =y−H{tilde over (x)} _(k), k=1,2, . . . n_(T)   (Eq. 2)

[0026] where, y_(k) and {tilde over (x)}_(k) denote the interference cancelled received signal vector and the soft estimate of x_(k) for the k-th stream, respectively, and given by y_(k)=(y_(k.1),y_(k.2), . . . y_(k.n) _(R) )^(T) and {tilde over (x)}_(k)=({tilde over (x)}₁,{tilde over (x)}₂, . . . {tilde over (x)}_(k−1),0,{tilde over (x)}_(k+1), . . . {tilde over (x)}_(n) _(T) )^(T). The calculation of {tilde over (x)}_(k) is specified infra.

[0027] Before yielding an output for a given iteration in each SIC, n_(R) parallel streams are filtered using filter weights determined by a filter weight calculator 54. In this case, since y_(k) contains residual interference, especially at the beginnings of iterative processing, we will apply the Minimum Mean Square Estimator (MMSE) filtering to minimize the squared error of the filtered output. It will be appreciated by those skilled in the art that a Matched Filter (MF) technique may also be appropriate, taking into account relative gains or losses in both effectiveness and processing efficiency.

[0028] Minimizing the mean square error with ideal output, the weight vector of MMSE filtering is defined by

w _(k) =argminE{|w ^(H) y _(k) −x _(k)|²}.   (Eq. 3)

[0029] In this case, w_(k) is given by S. Haykin, “Adaptive Filter Theory” (Prentice Hall, 1996)

w_(k)=R⁻¹p   (Eq. 4)

[0030] where, R and p corresponds to correlation matrix of received symbols vector and correlation vector between received symbols vector and desired output respectively. Then, R can be given as $\begin{matrix} \begin{matrix} {R = {E\left\lbrack {y_{k}y_{k}^{H}} \right\rbrack}} \\ {= {E\left\lbrack {\left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\} \left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\}^{H}} \right\rbrack}} \\ {= {E\left\lbrack {{{H\left( {x - {\overset{\sim}{x}}_{k}} \right)}\left( {x - {\overset{\sim}{x}}_{k}} \right)^{H}H^{H}} +} \right.}} \\ \left. {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)n^{H}} + {{n\left( {x - {\overset{\sim}{x}}_{k}} \right)}^{H}H^{H}} + {n\quad n^{H}}} \right\rbrack \\ {= {{{{HE}\left\lbrack {\left( {x - {\overset{\sim}{x}}_{k}} \right)\left( {x - {\overset{\sim}{x}}_{k}} \right)^{H}} \right\rbrack}H^{H}} + {{E\left\lbrack {n\quad n^{H}} \right\rbrack}.}}} \end{matrix} & \left( {{Eq}.\quad 5} \right) \end{matrix}$

[0031] Although E[(x−{tilde over (x)}_(k))(x−{tilde over (x)}_(k))^(H)] matches the covariance matrix of x, because each element in (x−{tilde over (x)}_(k)) is independent, the covariance matrix becomes diagonal. All elements except for k-th is computed by $\begin{matrix} \begin{matrix} {\left( V_{k} \right)_{i} = {E\left\lbrack {\left( {x_{i} - {\overset{\sim}{x}}_{i}} \right)\left( {x_{i} - {\overset{\sim}{x}}_{i}} \right)^{*}} \right\rbrack}} \\ {= {{E\left\lbrack {x_{i}}^{2} \right\rbrack} - {E\left\lbrack {{\overset{\sim}{x}}_{i}}^{2} \right\rbrack}}} \\ {{= {1 - {{\overset{\sim}{x}}_{i}}^{2}}},} \end{matrix} & \left( {{Eq}.\quad 6} \right) \end{matrix}$

[0032] while (V_(k))_(i) becomes 1 for i=k. The second term also becomes diagonal with its element of σ². Thus, (Eq. 5) becomes

R=HV _(k) H ^(H)+σ² I _(n) _(R) ,   (Eq. 7)

[0033] where σ² is the variance of Gaussian noise.

[0034] On the other hand, p is computed as $\begin{matrix} \begin{matrix} {P = {E\left\lbrack {y_{k}x_{k}^{*}} \right\rbrack}} \\ {= {E\left\lbrack {\left\{ {{H\left( {x - {\overset{\sim}{x}}_{k}} \right)} + n} \right\} x_{k}^{*}} \right\rbrack}} \\ {= {{HE}\left\lbrack {\left( {x - {\overset{\sim}{x}}_{k}} \right)x_{k}^{*}} \right\rbrack}} \\ {= {h_{k}.}} \end{matrix} & \left( {{Eq}.\quad 8} \right) \end{matrix}$

[0035] Therefore, solving for Eq. 3, the weight vector based on MMSE criteria can be given by

w _(k)=(HV _(k) H ^(H)+σ² I _(n) _(R) )⁻¹ h _(k).   (Eq. 9)

[0036] Finally, the filter output from the k-th stream is

z_(k)=w_(k) ^(H)y_(k).   (Eq. 10)

[0037] The filter output z_(k) would again be considered of the form z_(k)=μ_(k)x_(k)+ν_(k), where μ_(k) and ν_(k) denotes the equivalent fading coefficient and the noise, respectively. From the above derivations, we have

μ_(k)=w_(k) ^(H)h_(k),   (Eq. 11)

[0038] On the other hand, the variance of ν_(k), defined as r_(k) ² here, is formed as $\begin{matrix} \begin{matrix} {r_{k}^{2} \equiv {{Var}.\left( \upsilon_{k} \right)}} \\ {= {{E\left\lbrack \upsilon_{k}^{2} \right\rbrack} - {E\left\lbrack \upsilon_{k} \right\rbrack}^{2}}} \\ {= {E\left\lbrack {{z_{k} - {\mu_{k}x_{k}}}}^{2} \right\rbrack}} \\ {= {{E\left\lbrack {z_{k}}^{2} \right\rbrack} + {E\left\lbrack {{\mu_{k}x_{k}}}^{2} \right\rbrack} - {E\left\lbrack {z_{k}\mu_{k}^{*}x_{k}^{*}} \right\rbrack} - {{E\left\lbrack {z_{k}^{*}\mu_{k}x_{k}} \right\rbrack}.}}} \end{matrix} & \left( {{Eq}.\quad 12} \right) \end{matrix}$

[0039] Each term in (Eq. 12) is computed as follows $\begin{matrix} \begin{matrix} {{E\left\lbrack {z_{k}}^{2} \right\rbrack}\quad = {E\left\lbrack {\left( {w_{k}^{H}y_{k}} \right)\left( {w_{k}^{H}y_{k}} \right)^{*}} \right\rbrack}} \\ {\quad {= {w_{k}^{H}\quad {E\left\lbrack {y_{k}y_{k}^{H}} \right\rbrack}w_{k}}}} \\ {\quad {= {{w_{k}^{H}\left( {{H\quad V_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}w_{k}}}} \\ {\quad {= {w_{k}^{H}h_{k}}}} \\ {\quad {= \mu_{k}}} \\ {{E\left\lbrack {{\mu_{k}x_{k}}}^{2} \right\rbrack}\quad = \mu_{k}^{2}} \\ {{E\left\lbrack {z_{k}\mu_{k}^{*}x_{k}^{*}} \right\rbrack}\quad = {\mu_{k}^{*}x_{k}^{*}{E\left\lbrack z_{k} \right\rbrack}}} \\ {\quad {= {\mu_{k}^{*}x_{k}^{*}\mu_{k}x_{k}}}} \\ {\quad {= \mu_{k}^{2}}} \\ {{E\left\lbrack {z_{k}^{*}\mu_{k}x_{k}} \right\rbrack}\quad = {{E\left\lbrack z_{k}^{*} \right\rbrack}\mu_{k}x_{k}}} \\ {\quad {= {\mu_{k}^{*}x_{k}^{*}\mu_{k}x_{k}}}} \\ {\quad {= {\mu_{k}^{2}.}}} \end{matrix} & \left( {{Eq}.\quad 13} \right) \end{matrix}$

[0040] Therefore, we obtain

r _(k) ² ≡Var.(ν_(k))=μ_(k)−μ_(k).   (Eq. 14)

[0041] As shown in Eq. (9), the MMSE filtering involves the matrix inversion of an n_(R)×n_(R) matrix. Accordingly, it sometimes causes computational problems, especially in the case of large number of receive antennas. Therefore, we will also propose a matched-filtering scheme, where the weight w_(k) is simply taken as the channel vector, i.e., w_(k)=h_(k).

[0042] Then the corresponding equivalent fading coefficient and noise variance can be computed as

μ_(k)=h_(k) ^(H)h_(k),   (Eq. 15) $\begin{matrix} \begin{matrix} {r_{k}^{2} \equiv {{Var}.\left( \upsilon_{k} \right)}} \\ {= {E\left\lbrack {{z_{k} - {\mu_{k}x_{k}}}}^{2} \right\rbrack}} \\ {= {{E\left\lbrack {z_{k}}^{2} \right\rbrack} - \mu_{k}^{2}}} \\ {= {{{w_{k}^{H}\left( {{{HV}_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}w_{k}} - \mu_{k}^{2}}} \\ {= {{{h_{k}^{H}\left( {{{HV}_{k}H^{H}} + {\sigma^{2}I_{n_{R}}}} \right)}h_{k}} - \mu_{k}^{2}}} \\ {= {{h_{k}^{H}{HV}_{k}H^{H}h_{k}} + {\sigma^{2}h_{k}^{H}h_{k}} - \mu_{k}^{2}}} \\ {= {{\sum\limits_{j = 1}^{n_{T}}{\left( V_{k} \right)_{j}{{h_{k}^{H}h_{j}}}^{2}}} + {\sigma^{2}\mu_{k}} - {\mu_{k}^{2}.}}} \end{matrix} & \left( {{Eq}.\quad 16} \right) \end{matrix}$

[0043] The interference canceller according to the present invention is not limited to any one filtering method. For example, the method of computing the filter weights can be adaptively chosen for each iteration, according to one of several criteria, including a minimum SNR, SNIR, BER, FER, BLER, LLR. The filtering method may be chosen according to the number of iterations performed, with more effective yet complex methods chosen earlier in the process, or simpler methods may be applied earlier in the process, with more complex methods applied if it is determined that the complexity is necessary to achieve a suitable result. Alternately, the filtering method may be chosen based upon the number of transmit or receive antennae, on the consideration that the complexity increases exponentially with number of receive antennae.

[0044] Although a MF scheme can maximize the combined SNR, the corruption by interfering symbols would be dominant, especially in the, beginning of the iteration, since no interference is cancelled yet. MMSE filtering can be applied to maximize combined SNIR. However, MMSE filtering complexity will sometimes,become prohibitive, as highlighted above. Therefore, in a preferred embodiment, we apply the MMSE filtering only in the first processing, to sufficiently suppress interference from the other antennas. Subsequently, a MF scheme is applied to achieve reduced complexity. Although SIC-MF causes performance degradations, by applying MMSE filtering only in the first iteration, the hybrid scheme can achieve almost the same performance with MMSE-based I-SIC under frequency flat and selective conditions. Therefore, computational complexity will be reduced compared to the SIC-MMSE.

[0045] The LLR is defined as $\begin{matrix} {{{\Lambda \left( b_{i} \right)} = {\ln \frac{P\left( {b_{i} = \left. 0 \middle| y_{j} \right.} \right)}{P\left( {b_{i} = \left. 1 \middle| y_{j} \right.} \right)}}},} & \left( {{Eq}.\quad 17} \right) \end{matrix}$

[0046] where b_(i) is the i-th bit and y_(j) is the received signal containing b_(i), respectively. Assuming QPSK encoding, Eq. (17) can be written as $\begin{matrix} {{{\Lambda \left( b_{2l} \right)} = {\ln \frac{P\left( {b_{2l} = \left. 0 \middle| z_{l} \right.} \right)}{P\left( {b_{2l} = \left. 1 \middle| z_{l} \right.} \right)}}},} & \left( {{Eq}.\quad 18} \right) \\ {{{\Lambda \left( b_{{2l} + 1} \right)} = {\ln \frac{P\left( {b_{{2l} + 1} = \left. 0 \middle| z_{l} \right.} \right)}{P\left( {b_{{2l} + 1} = \left. 1 \middle| z_{l} \right.} \right)}}},} & \left( {{Eq}.\quad 19} \right) \end{matrix}$

[0047] where l corresponds the l-th received symbol after P/S conversion. Because Λ(b₂₁) and Λ(b₂₁₊₁) are computed in a similar manner, we will only concentrate on Λ(b₂₁) in the following.

[0048] According to the Bayes' rule, Eq. (18) can be written as $\begin{matrix} {{\Lambda \left( b_{2l} \right)} = {{\ln \frac{P\left( {\left. z_{l} \middle| b_{2l} \right. = 0} \right)}{P\left( {\left. z_{l} \middle| b_{2l} \right. = 1} \right)}} + {\ln \frac{P\left( {b_{2l} = 0} \right)}{P\left( {b_{2l} = 1} \right)}}}} & \left( {{Eq}.\quad 20} \right) \end{matrix}$

[0049] The first term is the so-called extrinsic information calculated by the received symbol and the signal constellation and the second term is the a priori probability ratio given by the previous turbo decoder processing. At this time, only extrinsic information should be transferred to the subsequent turbo decoder.

[0050] Let λ₁(b₂₁) be the extrinsic information of b₂₁. Then we have $\begin{matrix} \begin{matrix} {{\lambda_{1}\left( b_{2l} \right)} = {\ln \frac{\quad {{P\left( {{{z_{2l}b_{2l}} = 0},{b_{{2l} + 1} = 0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {{{z_{2l}b_{2l}} = 0},{b_{{2l} + 1} = 1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}{\quad {{P\left( {{{z_{2l}b_{2l}} = 1},{b_{{2l} + 1} = 0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {{{z_{2l}b_{2l}} = 1},{b_{{2l} + 1} = 1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}}} \\ {= {\ln \quad \frac{{P\left( {z_{2l}C_{0}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {z_{2l}C_{1}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}{{P\left( {z_{2l}C_{2}} \right){P\left( {b_{{2l} + 1} = 0} \right)}} + {{P\left( {z_{2l}C_{3}} \right)}{P\left( {b_{{2l} + 1} = 1} \right)}}}}} \\ {= {\ln \quad \frac{{P\left( {z_{2l}C_{0}} \right){{P\left( {b_{{2l} + 1} = 0} \right)}/{P\left( {b_{{2l} + 1} = 1} \right)}}} + {P\left( {z_{2l}C_{1}} \right)}}{{P\left( {z_{2l}C_{2}} \right){{P\left( {b_{{2l} + 1} = 0} \right)}/{P\left( {b_{{2l} + 1} = 1} \right)}}} + {P\left( {z_{2l}C_{3}} \right)}}}} \end{matrix} & \left( {{Eq}.\quad 21} \right) \end{matrix}$

[0051] Based on QPSK encoded, Gray mapped signal constellations, P(z₂₁|C_(i)) can be computed as $\begin{matrix} {{P\left( {z_{2l}C_{i}} \right)} = {\frac{1}{\pi \quad \upsilon_{2l}^{2}}{\exp \left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{i}}}}^{2}} \right)}}} & \left( {{Eq}.\quad 22} \right) \end{matrix}$

[0052] On the other hand, extrinsic information from channel decoder,:corresponds to the a priori probability and given by $\begin{matrix} {{\ln \quad \frac{P\left( {b_{i} = 0} \right)}{P\left( {b_{i} = 1} \right)}} = {{\lambda_{2}\left( b_{i} \right)}.}} & \left( {{Eq}.\quad 23} \right) \end{matrix}$

[0053] Then, likelihood can be denoted as $\begin{matrix} {\frac{P\left( {b_{i} = 0} \right)}{P\left( {b_{i} = 1} \right)} = {\exp \left\lbrack {\lambda_{2}\left( b_{i} \right)} \right\rbrack}} & \left( {{Eq}.\quad 24} \right) \end{matrix}$

[0054] Therefore, by introducing approximation of ln(e^(x)+e^(y))≈max(x,y), Eq. (21) becomes $\begin{matrix} \begin{matrix} {{\lambda_{1}\left( b_{2l} \right)} = {\ln \quad \frac{{\frac{1}{\pi \quad \upsilon_{2l}^{2}}\exp {\left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{0}}}}^{2}} \right) \cdot {\exp \left\lbrack {\lambda_{2}\left( b_{{2l} + 1} \right)} \right\rbrack}}} + {\frac{1}{\pi \quad \upsilon_{2l}^{2}}{\exp \left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{1}}}}^{2}} \right)}}}{{\frac{1}{\pi \quad \upsilon_{2l}^{2}}{{\exp \left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{2}}}}^{2}} \right)} \cdot {\exp \left\lbrack {\lambda_{2}\left( b_{{2l} + 1} \right)} \right\rbrack}}} + {\frac{1}{\pi \quad \upsilon_{2l}^{2}}{\exp \left( {{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{3}}}}^{2}} \right)}}}}} \\ {= {{\max \left\{ {{{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{0}}}}^{2}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{1}}}}^{2}}} \right\}} -}} \\ {{\max \left\{ {{{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{2}}}}^{2}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{{- \frac{1}{\upsilon_{2l}^{2}}}{{z_{2l} - {\mu_{2l}C_{3}}}}^{2}}} \right\}}} \\ {= {{\max \left\{ {{{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{0}}{\upsilon_{2l}^{2}} \right\rbrack}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{1}}{\upsilon_{2l}^{2}} \right\rbrack}}} \right\}} -}} \\ {{\max \left\{ {{{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{2}}{\upsilon_{2l}^{2}} \right\rbrack}} + {\lambda_{2}\left( b_{{2l} + 1} \right)}},{2{{Re}\left\lbrack \frac{z_{2l}^{*}\mu_{2l}C_{3}}{\upsilon_{2l}^{2}} \right\rbrack}}} \right\}}} \end{matrix} & \left( {{Eq}.\quad 25} \right) \end{matrix}$

[0055] where |C_(i)|²=1 is used for the final equality.

[0056] Similarly, we can calculate λ₁(b₂₁₊₁), which is a function of z₂₁ and λ₂(b₂₁). The extrinsic information computed for all code bits including tail sequence is then fed to Turbo decoder and Turbo decoder calculates again LLR and the extrinsic information of all code bits based on the its trellis diagram and the extrinsic information derived above.

[0057] By using LLR produced by Turbo decoder, soft estimate generator 40 creates soft replica symbols. This function weighs all the candidate of symbol constellation and combines as

{tilde over (x)} ₁ =C ₀ P ₂₁ ⁰ P ₂₁₊₁ ⁰ +C ₁ P ₂₁ ⁰ P ₂₁₊₁ ¹ +C ₂ P ₂₁ ¹ P ₂₁₊₁ ⁰ +C ₃ P ₂₁ ¹ P ₂₁₊₁ ¹,   (Eq. 26)

[0058] where O₁ ⁰ and P₁ ¹ are a posteriori probability of 0 and 1 for 1-th code bit and these are computed as $\begin{matrix} {{P_{l}^{0} = {{{Prob}.\left( {b_{l} = 0} \right)} = \frac{\exp \left\lbrack {\Lambda \left( b_{l} \right)} \right\rbrack}{1 + {\exp \left\lbrack {\Lambda \left( b_{l} \right)} \right\rbrack}}}},} & \left( {{Eq}.\quad 27} \right) \\ {P_{l}^{1} = {{{Prob}.\left( {b_{l} = 1} \right)} = {\frac{\exp \left\lbrack {- {\Lambda \left( b_{l} \right)}} \right\rbrack}{1 + {\exp \left\lbrack {- {\Lambda \left( b_{l} \right)}} \right\rbrack}}.}}} & \left( {{Eq}.\quad 28} \right) \end{matrix}$

[0059] This soft estimate is utilized by SIC 38 in a subsequent iteration.

[0060] Considering realistic operation of MIMO systems, one first must estimate a channel coefficient at the receiver. One method known in the art is the utilization of pilot symbols. In the case that N_(p) pilot symbols are employed from each transmit antenna, received symbols sequence becomes

y(t)=Hs(t)+v(t), 1≦t≦N_(p).   (Eq. 29)

[0061] By placing N_(p) column:vectors in a matrix, we can obtain

Y=HS+V,   (Eq. 30)

[0062] where Y=(y(1),y(2), . . . y(N_(p))), S=(s(1),s(2), . . . s(N_(p))), V=(v(1),v(2), . . . ,v(N_(p))). The technique presumes that N_(p) is larger than n_(T). It is reasonable to assume the power of pilot symbols as 1 so $\begin{matrix} {{\sum\limits_{i = 1}^{n_{T}}{\sum\limits_{j = 1}^{N_{p}}{s_{ij}}^{2}}} = {N_{p}{n_{T}.}}} & \left( {{Eq}.\quad 31} \right) \end{matrix}$

[0063] Multiplying a pseudo inverse matrix of s to Y from the right side, channel estimate would be given as

Ĥ=YS⁺.   (Eq. 32)

[0064] Since N_(p) is larger than n_(T), the pseudo inverse matrix of s becomes S^(H)(SS^(H))⁻¹. Thus, (Eq. 32) can be re-arranged as $\begin{matrix} \begin{matrix} {\hat{H} = {Y\quad {S^{H}\left( {S\quad S^{H}} \right)}^{- 1}}} \\ {= {\left( {{H\quad S} + V} \right){S^{H}\left( {S\quad S^{H}} \right)}^{- 1}}} \\ {= {H + {V\quad {S^{H}\left( {S\quad S^{H}} \right)}^{- 1}}}} \\ {= {H + {H^{ɛ}.}}} \end{matrix} & \left( {{Eq}.\quad 33} \right) \end{matrix}$

[0065] To minimize estimation error, S should be chosen such that total variance of H^(ε) can be as small as possible. It is shown in Marzetta, “BLAST Training: Estimating Channel Characteristics For High-Capacity Space-Time Wireless”, Proc. 37th Annual Allerton Conference on Communications, Computing and Control, Monticello, Ill. (September 1999), that the optimal training sequence should satisfy

SS^(H)=N_(p)I_(n) _(T) .   (Eq. 34)

[0066]FIGS. 4 and 5 show the simulated FER performances of MF, MMSE and Hybrid schemes with 4-iterations under flat and exponentially distributed 12-path conditions. Ideal GI deletion and channel estimation are assumed here. From FIG. 4, performances of the SIC-Hybrid scheme is exactly the same with that of SIC-MMSE under both frequency flat and selective conditions, while that of 4 antennas is slightly degraded as shown in FIG. 5. The outage capacity, which can be considered as frame error rate, of (2×2) and (4×4) is respectively 6 dB at 4% and 3 dB at 7% under flat fading condition. Therefore, we can conclude that the SIC-Hybrid and SIC-MMSE can approach to 2.8 and 2.5 dB, respectively, in (2×2) and (4×4) systems. Since we only employed OFDM modulations, even in the case of frequency selective conditions, we can achieve good performances as shown.

[0067] To implement the present invention, any number of apparatus will be readily apparent to those skilled in the art in light of the instant disclosure. For example, the interference cancellation may be implemented by hardware means, including dedicated circuitry or ASICs, either modular or integral. Alternately the invention may be implemented through software, suitably interfaced with wireless transmission and/or receiving equipment. Some combination of software and hardware implementation may prove optimal from either a performance or manufacturing viewpoint, without departing from the scope of the invention. A receiver including the soft interference canceller according to the present invention may include a wireless telephone handset, an internet-capable device, or any other wireless communication equipment.

[0068] The present invention has been described herein with respect, to certain preferred embodiments. These embodiments are means to be illustrative, not limiting, of the scope of the invention. Modifications or alterations may be apparent to those skilled in the art without departing from the scope of the invention, which is defined by the appended claims. 

What is claimed is:
 1. An apparatus for canceling interference among multiple signals simultaneously transmitted from multiple transmitting antennae and received by multiple receiving antennae, the apparatus comprising a plurality of interference cancellers, at least one interference canceller corresponding to each transmitted signal, each interference canceller receiving a signal from each receiving antenna, and each interference canceller outputting an interference-cancelled received version of its corresponding transmitted signal.
 2. The apparatus for canceling interference according to claim 1 further comprising a soft symbol estimator for preparing an estimate of the received symbols from all transmitting antennae for use in each interference canceller.
 3. The apparatus for canceling interference according to claim 2, wherein each interference canceller iteratively cancels interference against its corresponding transmitting signal until an interrupt criteria is met.
 4. The apparatus for canceling interference according to claim 2, wherein each estimate includes a forced zero term for the transmitted signal corresponding to each interference canceller.
 5. The apparatus for canceling interference according to claim 1, further comprising a filter weight calculator.
 6. The apparatus for canceling interference according to claim 1, wherein each interference canceller comprises a filter weight calculator.
 7. A multi-input multi-output wireless communication receiver having the interference canceling apparatus according to claim
 1. 8. The wireless communication receiver according to claim 7, further comprising a parallel-to-serial converter for converting the plural interference canceller outputs into a serial stream.
 9. The wireless communication receiver according to claim 7, further comprising a decoder for recovering a data stream based upon the plural interference canceller outputs.
 10. A method of canceling interference among multiple signals simultaneously transmitted from multiple transmitting antennae and received by multiple receiving antennae, the method comprising: (a) providing a received signal from each receiving antenna to each of a plurality of interference cancellers, at least one interference canceller corresponding to each said transmitted signal, each interference canceller canceling interference against its corresponding transmitted signal; and (b) canceling interference by comparison of the received signals with an estimate of the transmitted signal and cancellation of all but the corresponding transmitted signal in each interference canceller.
 11. The method according to claim 10, wherein each estimate prepared in step (b) includes a forced zero term for the transmitted signal corresponding to each interference canceller.
 12. The method of canceling interference according to claim 10, further comprising multiplying each estimate by a channel coefficient matrix.
 13. The method of canceling interference according to claim 12, wherein the channel coefficient matrix is derived from the receipt of a known pilot signal.
 14. The method of canceling interference according to claim 12, further comprising subtracting the products of each estimate and the channel coefficient matrix from the received signals, resulting in a corresponding difference between each of the products and each of the received signals.
 15. The method of canceling interference according to claim 14, further comprising multiplying the corresponding difference between each of the products and each of the received signals by a filter weight vector.
 16. The method of canceling interference according to claim 10, further comprising iteratively performing the interference cancellation of step (b) until a predetermined interrupt criteria is met.
 17. A method of conducting multi-input multi-output wireless communications comprising executing the interference canceling method of claim 10 on a receiving end.
 18. A method of canceling interference among multiple signals simultaneously transmitted from multiple transmitting antennae and received by multiple receiving antennae, the method comprising: (a) providing a received signal from each receiving antenna to each of a plurality of interference cancellers, at least one interference canceller corresponding to each said transmitted signal, and each interference canceller dedicated to canceling interference against its corresponding transmitted signal; (b) preparing an estimate of the transmitted signals from all transmitting antennae for use in each interference canceller, (c) multiplying each estimate by a channel coefficient matrix; (d) subtracting the resulting products of each estimate and the channel coefficient matrix from the received signals, resulting in a corresponding difference between each of the products and each of the received signals; (e) multiplying each corresponding difference by a filter weight vector; (f) decoding the received signal based upon the resulting products of said difference and said filter weight vector; g) if a predetermined interrupt criteria is not met, then using said decoded signal in the preparation of an estimate for a subsequent interference cancellation iteration; and (h) iteratively performing steps (b)-(g) if the predetermined interrupt criteria is not met.
 19. The method according to claim 18, wherein each estimate prepared in step (b) includes a frezero term for the transmitted signal corresponding to each interference canceller.
 20. The interference canceling method of claim 18 wherein the method of calculating the filter weight vector used in step (e) is selectively chosen for each iteration.
 21. The interference canceling method of claim 20 wherein the selection criteria for the method of calculating the filter weight vector used in step (e) is at least one of a SNR, a SNIR, the number of receive or transmit antennae, a log likelihood ratio, the number of iterations, and a constellation of the estimate of the transmitted signals.
 22. The interference canceling method of claim 18 wherein the method of calculating the filter weight vector comprises one of a matched filter (MF) and minimum mean square error (MMSE) methods.
 23. The interference canceling method of claim 18 wherein the method of calculating the filter weight vector used in step (e) is a minimum mean square error (MMSE) method in a first iteration, and a matched filter (MF) method in any subsequent iterations.
 24. The interference canceling method of claim 18 wherein the interrupt criteria is at least one of the number of erroneous bits, the number of erroneous blocks, the number of erroneous frames, a log likelihood ratio and the number of iterations.
 25. The interference canceling method of claim 18 wherein the channel coefficient matrix is derived from the receipt of a known pilot signal.
 26. A method of conducting multi-input multi-output wireless communications comprising executing the interference canceling method of claim 18 on a receiving end.
 27. An apparatus for canceling interference among multiple signals simultaneously transmitted from multiple transmitting antennae and received by multiple receiving antennae, the apparatus comprising: a plurality of interference cancellers, at least one interference canceller corresponding to each said transmitted signal, and each interference canceller dedicated to canceling interference against its respective transmitted signal; soft symbol estimator means for preparing an estimate of the transmitted symbols for use in each interference canceller, each estimate including a forced zero term for the transmitted signal corresponding to each interference canceller; means for multiplying each estimate by a channel coefficient matrix; means for subtracting the resulting products of each estimate and the channel coefficient matrix from the received signal; means for calculating a filter weight vector; means for multiplying the each difference between said product and the received signal by a filter weight vector; and means for decoding the signal based upon the resulting products of said difference and said filter weight vector.
 28. The apparatus for canceling interference according to claim 27, wherein said soft symbol estimator uses the decoded signal from a previous iteration for preparing the estimate of the transmitted symbols.
 29. The apparatus for canceling interference according to claim 27, wherein said soft symbol estimator uses the interference cancelled signal for preparing the estimate of the transmitted symbols.
 30. A multi-input multi-output wireless communication system including a receiver having the interference canceling apparatus according to claim
 27. 